package com.cxx.food.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cxx.food.dto.*;
import com.cxx.food.vo.FoodQueryVo;

import java.util.List;

public interface FoodService {
    Boolean addRecipe(RecipeDto recipeDto);

    Boolean updateRecipe(Long id, RecipeDto recipeDto);

    Boolean deleteRecipe(Long id);

    Boolean addRecord(RecordDto foodRecordDto);

    Boolean updateRecord(Long id, RecordDto recordDto);

    Boolean deleteRecord(Long id);

    Boolean addComment(Long recipeId, String content);

    Boolean addLike(Long recipeId);

    Boolean deleteLike(Long recipeId);

    Boolean addFavourite(Long recipeId);

    Boolean deleteFavourite(Long recipeId);

    RecipeDto queryRecipeById(Long id);

    List<SummaryDto> queryRecipeByUser(Long id);

    List<SummaryDto> queryRecipeUserFavourite();

    List<SummaryDto> queryRecipeSummary(FoodQueryVo foodQueryVo);

    IPage<SummaryDto> querySummaryByPage(Integer currentPage, Integer pageSize, FoodQueryVo foodQueryVo);

    List<RecordDto> queryRecord(String startDate, String endDate);

    List<String> queryFoodName();

    List<String> queryCategory();

    StatsDto queryStats();

    List<StatsChartDto> queryRecordStats();

    List<StatsChartDto> queryCategoryStats();

    List<StatsChartDto> queryRankStats();
}
